package com.sctvcloud.qingchuan.http.retrofit.inf;

import com.sctvcloud.qingchuan.application.Constances;
import com.sctvcloud.qingchuan.beans.ADynamicsItem;
import com.sctvcloud.qingchuan.beans.AFileItem;
import com.sctvcloud.qingchuan.beans.AHomePageItem;
import com.sctvcloud.qingchuan.beans.ARecomdList;
import com.sctvcloud.qingchuan.beans.AccountUserBean;
import com.sctvcloud.qingchuan.beans.AdPicItem;
import com.sctvcloud.qingchuan.beans.AddrInfo;
import com.sctvcloud.qingchuan.beans.AddrInfoItem;
import com.sctvcloud.qingchuan.beans.AdvertBean;
import com.sctvcloud.qingchuan.beans.AdvertDataVo;
import com.sctvcloud.qingchuan.beans.AdvertSpecialVo;
import com.sctvcloud.qingchuan.beans.AnchorList;
import com.sctvcloud.qingchuan.beans.AttitudesBean;
import com.sctvcloud.qingchuan.beans.BranchBean;
import com.sctvcloud.qingchuan.beans.ChatItem;
import com.sctvcloud.qingchuan.beans.ChooseCityBean;
import com.sctvcloud.qingchuan.beans.ChooseCityVo;
import com.sctvcloud.qingchuan.beans.ConvertRecordBean;
import com.sctvcloud.qingchuan.beans.DeclareBean;
import com.sctvcloud.qingchuan.beans.DeclareVo;
import com.sctvcloud.qingchuan.beans.FCityItem;
import com.sctvcloud.qingchuan.beans.FCityState;
import com.sctvcloud.qingchuan.beans.FComment;
import com.sctvcloud.qingchuan.beans.FLive;
import com.sctvcloud.qingchuan.beans.FLiveDy;
import com.sctvcloud.qingchuan.beans.FNews;
import com.sctvcloud.qingchuan.beans.FOrganDetail;
import com.sctvcloud.qingchuan.beans.FProgram;
import com.sctvcloud.qingchuan.beans.FRebellion;
import com.sctvcloud.qingchuan.beans.FScribeState;
import com.sctvcloud.qingchuan.beans.FSubscribe;
import com.sctvcloud.qingchuan.beans.FUsers;
import com.sctvcloud.qingchuan.beans.FVersionInfo;
import com.sctvcloud.qingchuan.beans.FocusColumn;
import com.sctvcloud.qingchuan.beans.Gallery;
import com.sctvcloud.qingchuan.beans.GalleryBean;
import com.sctvcloud.qingchuan.beans.GoodsBean;
import com.sctvcloud.qingchuan.beans.GoodsBeanInfo;
import com.sctvcloud.qingchuan.beans.GovBean;
import com.sctvcloud.qingchuan.beans.GovDetailBean;
import com.sctvcloud.qingchuan.beans.GovItemBean;
import com.sctvcloud.qingchuan.beans.HighRiseBean;
import com.sctvcloud.qingchuan.beans.HighRiseVo;
import com.sctvcloud.qingchuan.beans.HomePopular;
import com.sctvcloud.qingchuan.beans.IntegralAddBean;
import com.sctvcloud.qingchuan.beans.InvitationRuleVo;
import com.sctvcloud.qingchuan.beans.LicenseKeyItem;
import com.sctvcloud.qingchuan.beans.LiveAdvance;
import com.sctvcloud.qingchuan.beans.LiveDynamic;
import com.sctvcloud.qingchuan.beans.LiveItem;
import com.sctvcloud.qingchuan.beans.LookBackBean;
import com.sctvcloud.qingchuan.beans.LookBackDateBean;
import com.sctvcloud.qingchuan.beans.MessageListVo;
import com.sctvcloud.qingchuan.beans.MessageStateBean;
import com.sctvcloud.qingchuan.beans.NewsClickBean;
import com.sctvcloud.qingchuan.beans.NewsDate;
import com.sctvcloud.qingchuan.beans.NewsInfoAdvertVo;
import com.sctvcloud.qingchuan.beans.NewsItem;
import com.sctvcloud.qingchuan.beans.NewsListClickVo;
import com.sctvcloud.qingchuan.beans.PrizeImage;
import com.sctvcloud.qingchuan.beans.RebllionCommitResult;
import com.sctvcloud.qingchuan.beans.ReplyDetail;
import com.sctvcloud.qingchuan.beans.ResidualIntegral;
import com.sctvcloud.qingchuan.beans.SearchKeyWords;
import com.sctvcloud.qingchuan.beans.SearchResult;
import com.sctvcloud.qingchuan.beans.ServiceBean;
import com.sctvcloud.qingchuan.beans.ServiceConfigBean;
import com.sctvcloud.qingchuan.beans.ServiceVo;
import com.sctvcloud.qingchuan.beans.SignInfo;
import com.sctvcloud.qingchuan.beans.ServiceCityListVo;
import com.sctvcloud.qingchuan.beans.SingleResult;
import com.sctvcloud.qingchuan.beans.SpecialInfo;
import com.sctvcloud.qingchuan.beans.TodayNews;
import com.sctvcloud.qingchuan.beans.TopicContent;
import com.sctvcloud.qingchuan.beans.TopicVo;
import com.sctvcloud.qingchuan.beans.TvLivingList;
import com.sctvcloud.qingchuan.beans.UserInfoBean;
import com.sctvcloud.qingchuan.beans.VoteInfo;
import com.sctvcloud.qingchuan.beans.VoteOption;
import com.sctvcloud.qingchuan.http.INetCallback;
import com.sctvcloud.qingchuan.http.NetResponseObject;
import com.sctvcloud.qingchuan.http.NetResponseObjectArray;

import java.util.List;
import java.util.Map;

import io.reactivex.Observable;
import io.reactivex.Observer;
import okhttp3.MultipartBody;
import okhttp3.RequestBody;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.Field;
import retrofit2.http.FieldMap;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.Header;
import retrofit2.http.Headers;
import retrofit2.http.Multipart;
import retrofit2.http.POST;
import retrofit2.http.Part;
import retrofit2.http.PartMap;
import retrofit2.http.Path;
import retrofit2.http.Query;
import retrofit2.http.QueryMap;
import retrofit2.http.Url;

/**
 * Created by Administrator on 2017/7/6.
 */

public interface NetRetrofitInfs {

    /**
     * 获取object型的数据
     *
     * @return
     */
    @GET
    <T> Call<NetResponseObject<T>> getObjNullParam(@Url String url);

    /**
     * 获取列表型的数据
     *
     * @return
     */
    @GET
    <T> Call<NetResponseObjectArray<T>> getArrayNullParam(@Url String url);

    /**
     * 获取object型的数据
     *
     * @return
     */
    @GET("{uu}")
    <T> Call<NetResponseObject<T>> getObjNullParamP(@Path("uu") String url);

    /**
     * 获取列表型的数据
     *
     * @return
     */
    @GET("{uu}")
    <T> Call<NetResponseObjectArray<T>> getArrayNullParamP(@Path("uu") String url);

    @POST("{uu}")
    <T> Call<NetResponseObject<T>> postObjNullParam(@Path("uu") String method);

    @POST("{uu}")
    <T> Call<NetResponseObjectArray<T>> postArrayNullParam(@Path("uu") String method);

    @FormUrlEncoded
    @POST("{uu}")
    <T> Call<NetResponseObject<T>> postObjParam(@Path("uu") String method, @FieldMap Map<String, Object> param);

    @FormUrlEncoded
    @POST("{uu}")
    <T> Call<NetResponseObjectArray<T>> postArrayParam(@Path("uu") String method, @FieldMap Map<String, Object> param);

    @GET
    Call<NetResponseObjectArray<FocusColumn>> getChannelArray(@Url String method);

    @GET
    Call<NetResponseObjectArray<NewsItem>> getNewsArray(@Url String method);

    @GET
    Call<NetResponseObjectArray<NewsDate>> getNewsDate(@Url String method);

    @GET
    Call<NetResponseObjectArray<LiveItem>> getLiveArray(@Url String method);

    @GET
    Call<NetResponseObjectArray<FProgram>> getProgramArray(@Url String method);

    @GET
    Call<NetResponseObjectArray<ADynamicsItem>> getDynamicsPage(@Url String method);

    @GET
    Call<NetResponseObject<AnchorList>> getAnchorList(@Url String method);

    @GET
    Call<NetResponseObject<AHomePageItem>> getAHomePageList(@Url String method);

    @GET
    Call<NetResponseObject<ARecomdList>> getRecommList(@Url String method);

    @GET
    Call<NetResponseObjectArray<FRebellion>> getRebellionArray(@Url String method);

    @GET
    Call<NetResponseObjectArray<FProgram>> getProgramList(@Url String method);

    @GET
    Call<NetResponseObject<FCityItem>> getStateList(@Url String method);

    @GET
    Call<NetResponseObject<FOrganDetail>> getOrganList(@Url String method);

    @GET
    Call<NetResponseObject<TodayNews>> getTodayNews(@Url String method);

    @GET
    Call<NetResponseObject<SpecialInfo>> getSpecial(@Url String method);


    @GET
    Call<NetResponseObjectArray<FSubscribe>> getSubscribeListPage(@Url String method);


    @GET
    Call<NetResponseObject<AdPicItem>> getAdList(@Url String method);


    @GET
    Call<NetResponseObject<FVersionInfo>> getVersion(@Url String method);

    @GET
    Call<NetResponseObject<AdvertDataVo>> getAdInfo(@Url String method);

    @GET
    Call<NetResponseObject<HighRiseBean>> getHighRiseList(@Url String method);

    @FormUrlEncoded
    @POST("{method}")
    Call<NetResponseObject<SingleResult>> postGetSingle(@Path("method") String method, @FieldMap Map<String, Object> param);

    @FormUrlEncoded
    @POST("accountLogin")
    Call<NetResponseObject<FUsers>> postLogin(@FieldMap Map<String, Object> param);

    @FormUrlEncoded
    @POST("sendDiscloseInfo")
    Call<NetResponseObject<RebllionCommitResult>> postRebellion(@FieldMap Map<String, Object> param);

    @FormUrlEncoded
    @POST("sendAnchorTimeLine")
    Call<NetResponseObject<SingleResult>> postAnchor(@FieldMap Map<String, Object> param);

    @POST("reviseUserAvatar")
    Call<NetResponseObject<SingleResult>> modifyAvatar(@Body RequestBody file);

    @FormUrlEncoded
    @POST("getAccountInstitutions")
    Call<NetResponseObjectArray<FCityState>> getUserOrganList(@FieldMap Map<String, Object> param);

    @FormUrlEncoded
    @POST("accountSubscibed")
    Call<NetResponseObject<FScribeState>> getSubscribeState(@FieldMap Map<String, Object> param);

    @FormUrlEncoded
    @POST("keywordOptionSearch")
    Call<NetResponseObject<SearchResult>> getSearchResult(@FieldMap Map<String, Object> param);


    @FormUrlEncoded
    @POST("keywordOptionSearchFulltext")
    Call<NetResponseObject<SearchResult>> keywordOptionSearchFulltext(@FieldMap Map<String, Object> param);

    @FormUrlEncoded
    @POST("liveurl")
    Call<NetResponseObject<LiveAdvance>> getLiveConfig(@FieldMap Map<String, Object> param);

    @FormUrlEncoded
    @POST("getLicensekey")
    Call<NetResponseObject<LicenseKeyItem>> getLicensekey(@FieldMap Map<String, Object> param);

    @FormUrlEncoded
    @POST("getHotKeyword")
    Call<NetResponseObject<SearchKeyWords>> getHotKeyword(@FieldMap Map<String, Object> param);

    @GET
    Call<NetResponseObjectArray<FComment>> getCommentArray(@Url String method);

    @GET
    Call<NetResponseObjectArray<FComment>> getCommentPage(@Url String method);

    @GET
    Call<String> getStringContent(@Url String url);


    @FormUrlEncoded
    @POST("getVoteListInfo")
    Call<NetResponseObject<VoteInfo>> getVoteInfo(@FieldMap Map<String, Object> param);

    @FormUrlEncoded
    @POST
    Call<NetResponseObject<VoteInfo>> getVoteInfo(@Url String url, @FieldMap Map<String, Object> param);

    @GET
    Call<NetResponseObject<FNews>> getNewsInfo(@Url String method);

    @GET
    Call<NetResponseObject<TvLivingList>> getTvLivingList(@Url String method);

    @GET
    Call<NetResponseObject<FLive>> getLiveInfo(@Url String method);

    @GET
    Call<NetResponseObject<HomePopular>> getHomePopular(@Url String method);

    @GET
    Call<NetResponseObjectArray<LiveDynamic>> getLivePage(@Url String pageUrl);

    @GET
    Call<NetResponseObjectArray<ChatItem>> getChatPage(@Url String pageUrl);

    @GET
    Call<NetResponseObjectArray<LiveItem>> getLiveListPage(@Url String pageUrl);

    @FormUrlEncoded
    @POST("getCommentList")
    Call<NetResponseObjectArray<FComment>> getCommentList(@Field("sourceId") String sourceId
            , @Field("requestType") int requestType, @Field("capacity") int capacity
            , @Field("index") int index);

    @FormUrlEncoded
    @POST
    Call<NetResponseObjectArray<FComment>> getCommentList(@Url String url, @Field("sourceId") String sourceId
            , @Field("requestType") int requestType, @Field("capacity") int capacity
            , @Field("index") int index);

    @FormUrlEncoded
    @POST("getNewestCommentList")
    Call<NetResponseObjectArray<FComment>> getNewCommentList(@Field("sourceId") String sourceId
            , @Field("requestType") int requestType);

    @FormUrlEncoded
    @POST("getChatCommentList")
    Call<NetResponseObjectArray<ChatItem>> getLiveChatList(@Field("liveId") String sourceId);

    @FormUrlEncoded
    @POST
    Call<NetResponseObjectArray<ChatItem>> getLiveChatList(@Url String url, @Field("liveId") String sourceId);


    @FormUrlEncoded
    @POST("accountVote")
    Call<NetResponseObjectArray<VoteOption>> accountVote(@FieldMap Map<String, Object> param);

    @FormUrlEncoded
    @POST("getRelateNewsList")
    Call<NetResponseObjectArray<NewsItem>> getRelateNews(@Field("keyword") String param
            , @Field("newsId") String newsId, @Field(Constances.SITE_NET_KEY) String siteNumber);

    @FormUrlEncoded
    @POST
    Call<NetResponseObjectArray<NewsItem>> getRelateNews(@Url String url, @Field("keyword") String param
            , @Field("newsId") String newsId, @Field(Constances.SITE_NET_KEY) String siteNumber);

    @FormUrlEncoded
    @POST("liveroom")
    Call<NetResponseObjectArray<FLiveDy>> getLiveDynamicList(@Field("roomid") String roomid);

    @FormUrlEncoded
    @POST
    Call<NetResponseObjectArray<FLiveDy>> getLiveDynamicList(@Url String url, @Field("roomid") String roomid);

    @FormUrlEncoded
    @POST("getTimelineList")
    Call<NetResponseObjectArray<ADynamicsItem>> getTimelineList(@FieldMap Map<String, Object> param);

    @FormUrlEncoded
    @POST("getAnchorRelateNews")
    Call<NetResponseObjectArray<NewsItem>> getAnchorRelateNewsList(@FieldMap Map<String, Object> param);

    @FormUrlEncoded
    @POST("getRadioHostDoc")
    Call<NetResponseObjectArray<AFileItem>> getRadioHostDoc(@FieldMap Map<String, Object> param);

    @FormUrlEncoded
    @POST("attitudes")
    Call<NetResponseObject<SingleResult>> doUp(@FieldMap Map<String, Object> param);


    @FormUrlEncoded
    @POST("getMyAnchorTimeLines")
    Call<NetResponseObjectArray<ADynamicsItem>> getMyAnchorDynamicList(@FieldMap Map<String, Object> param);

    @POST("{uu}")
    Call<NetResponseObject<SingleResult>> uploading(@Path("uu") String method, @Body RequestBody file);

    @Multipart
    @POST("{uu}")
    Call<NetResponseObject<SingleResult>> uploading2(@Path("uu") String method
            , @QueryMap Map<String, Object> fieldMap, @Part MultipartBody.Part fileMap);

    @GET
    Call<NetResponseObject<GoodsBeanInfo>> getCommodityInfo(@Url String method);

    @FormUrlEncoded
    @POST("getIfNews")
    Call<NetResponseObject<MessageStateBean>> postGetMessageState(@FieldMap Map<String, Object> param);

    @FormUrlEncoded
    @POST("getMsgList")
    Call<NetResponseObject<MessageListVo>> postGetMessageList(@FieldMap Map<String, Object> param);

    @FormUrlEncoded
    @POST("clearMsgList")
    Call<NetResponseObject<SingleResult>> postCleanMessage(@FieldMap Map<String, Object> param);

    @FormUrlEncoded
    @POST("setMsgRead")
    Call<NetResponseObject<SingleResult>> postSetReadMessage(@FieldMap Map<String, Object> param);

    @FormUrlEncoded
    @POST("addIntegral")
    Call<NetResponseObject<IntegralAddBean>> postAddIntegral(@FieldMap Map<String, Object> param);

    @FormUrlEncoded
    @POST("getUserInfo")
    Call<NetResponseObject<UserInfoBean>> postGetUserData(@FieldMap Map<String, Object> param);

    @FormUrlEncoded
    @POST("getOrderList")
    Call<NetResponseObjectArray<ConvertRecordBean>> getOrderList(@Field("userId") String userId
            , @Field("pageIndex") int pageIndex, @Field("token") String token);

    @FormUrlEncoded
    @POST("getSignInfo")
    Call<NetResponseObject<SignInfo>> getSignInfo(@Field("userId") String userId
            , @Field("token") String token);

    @FormUrlEncoded
    @POST("getAddrList")
    Call<NetResponseObjectArray<AddrInfo>> getAddrList(@Field("userId") String userId
            , @Field("token") String token);

    @FormUrlEncoded
    @POST("addAddrInfo")
    Call<NetResponseObject<AddrInfoItem>> addAddrInfo(@FieldMap Map<String, Object> param);

    @FormUrlEncoded
    @POST("setDefalutUserAddress")
    Call<NetResponseObject<SingleResult>> setDefaultAddr(@FieldMap Map<String, Object> param);

    @FormUrlEncoded
    @POST("addGoodsOrder")
    Call<NetResponseObject<ResidualIntegral>> addGoodsOrder(@FieldMap Map<String, Object> param);

    @GET
    Call<NetResponseObject<InvitationRuleVo>> getInvitationRuleList(@Url String method);

    @FormUrlEncoded
    @POST("getViews")
    Call<NetResponseObject<NewsClickBean>> getNewOrLivingClick(@FieldMap Map<String, Object> param);

    @FormUrlEncoded
    @POST("addViews")
    Call<NetResponseObject<SingleResult>> addNewOrLivingClick(@FieldMap Map<String, Object> param);

    @GET
    Call<NetResponseObject<ServiceCityListVo>> getServiceCityList(@Url String method);

    @FormUrlEncoded
    @POST("checkCode")
    Call<NetResponseObject<SingleResult>> checkInvitationCode(@FieldMap Map<String, Object> param);

    @GET
    Call<NetResponseObject<ServiceConfigBean>> getServiceConfig(@Url String method);

    @GET
    Call<NetResponseObject<ChooseCityVo>> getCityList(@Url String method);

    @FormUrlEncoded
    @POST("addUserOperate")
    Call<NetResponseObject<SingleResult>> addUserOperate(@FieldMap Map<String, Object> param);


    @FormUrlEncoded
    @POST("addUserOnline")
    Call<NetResponseObject<SingleResult>> addUserOnline(@FieldMap Map<String, Object> param);


    @FormUrlEncoded
    @POST("getMoreVideos")
    Call<NetResponseObjectArray<NewsItem>> getShortVideos(@FieldMap Map<String, Object> param);

    @FormUrlEncoded
    @POST("findTopicDiscloseInfo")
    Call<NetResponseObjectArray<FRebellion>> getTopiciscloseList(@FieldMap Map<String, Object> param);

    @FormUrlEncoded
    @POST("ext/politick/list")
    Call<NetResponseObjectArray<FRebellion>> getWenzheng(@FieldMap Map<String, Object> param);


    @FormUrlEncoded
    @POST("ext/politick/submit")
    Call<NetResponseObject<RebllionCommitResult>> postWenzheng(@FieldMap Map<String, Object> param);

    @FormUrlEncoded
    @POST("ext/politick/detail")
    Call<NetResponseObject<ReplyDetail>> getReplyDetail(@FieldMap Map<String, Object> param);

    @FormUrlEncoded
    @POST("finPrizeImage")
    Call<NetResponseObject<PrizeImage>> getPrizeImg(@FieldMap Map<String, Object> param);

    @FormUrlEncoded
    @POST("ext/politick/branchList")
    Call<NetResponseObject<BranchBean>> getBranch(@FieldMap Map<String, Object> param);


    @FormUrlEncoded
    @POST("getTopicList")
    Call<NetResponseObject<TopicVo>> getTopicList(@FieldMap Map<String, Object> param);


    @FormUrlEncoded
    @POST("getAttitudes")
    Call<NetResponseObject<AttitudesBean>> getAttitudes(@FieldMap Map<String, Object> param);

    @FormUrlEncoded
    @POST("getThirdServiceList")
    Call<NetResponseObject<ServiceVo>> getServiceData(@FieldMap Map<String, Object> param);

    @FormUrlEncoded
    @POST("getOrgInfoList")
    Call<NetResponseObject<GovBean>> getGovList(@FieldMap Map<String, Object> param);

    @FormUrlEncoded
    @POST("getOrgInfos")
    Call<NetResponseObject<GovDetailBean>> getOrgInfos(@FieldMap Map<String, Object> param);

    @Headers({"Content-Type: application/json", "Accept: application/json"})
    @POST("getViewsList")
    Call<NetResponseObject<NewsListClickVo>> getViewsList(@Body RequestBody newsIds);

    @FormUrlEncoded
    @POST("findAdvertSpecialList")
    Call<NetResponseObject<AdvertSpecialVo>> findAdvertSpecialList(@FieldMap Map<String, Object> param);

    @FormUrlEncoded
    @POST("getAdverts")
    Call<NetResponseObject<NewsInfoAdvertVo>> getNewsInfoAdvert(@Field("pubTime") String pubTime);

    @GET
    Call<NetResponseObjectArray<GalleryBean>> getGalleryArray(@Url String method);

    @GET
    Call<NetResponseObject<Gallery>> getGallery(@Url String method);

    @FormUrlEncoded
    @POST("core/declaration/submit")
    Call<NetResponseObject<RebllionCommitResult>> postDeclare(@FieldMap Map<String, Object> param);

    @GET
    Call<NetResponseObject<DeclareVo>> getMyDeclare(@Url String method);

    /********************华栖云 融媒号相关服务 START************************/
    @Multipart
    @POST("auth/auth/token")
    Call<NetResponseObject<AccountUserBean>> getUserToken(@Header("grant_type") String grant_type, @Header("tenantid") String tenantid, @PartMap Map<String, RequestBody> body);

    @Multipart
    @POST("auth/auth/token")
    Call<String> getUserTokenString(@Header("grant_type") String grant_type, @Header("tenantid") String tenantid, @PartMap Map<String, RequestBody> body);

    @Headers({"Content-Type: application/json;charset=UTF-8"})
    @POST("utils/cms/getALLUserArticleList")
    Call<String> getAllNewsListString(@Body RequestBody body);

    @Multipart
    @POST("utils/cms/getArticleDetail")
    Call<String> getNewsItemString(@Header("access_token") String access_token, @PartMap Map<String, RequestBody> body);

    @Multipart
    @POST("utils/cms/getArticleDetail")
    Call<String> getNewsItemString(@PartMap Map<String, RequestBody> body);

    @Multipart
    @POST("community/communityUser/client/myAttention")
    Call<String> getAttentionAccountListString(@Header("access_token") String access_token, @PartMap Map<String, RequestBody> body);

    @Multipart
    @POST("community/communityUser/client/findPage")
    Call<String> getAccountListString(@Header("access_token") String access_token, @PartMap Map<String, RequestBody> body);

    @Multipart
    @POST("community/communityUser/client/findPage")
    Call<String> getAccountListString(@PartMap Map<String, RequestBody> body);

    @Multipart
    @POST("community/communityUser/client/heHome")
    Call<String> getAccountInfoString(@Header("access_token") String access_token, @PartMap Map<String, RequestBody> body);

    @Multipart
    @POST("community/communityUser/client/heHome")
    Call<String> getAccountInfoString(@PartMap Map<String, RequestBody> body);


    @Headers({"Content-Type: application/json;charset=UTF-8"})
    @POST()
    Call<String> getAccountNewsListString(@Url String method, @Body RequestBody body);

    @Multipart
    @POST("community/communityUser/client/attention")
    Call<String> toAttentionAccountString(@Header("access_token") String access_token, @PartMap Map<String, RequestBody> body);

    @Multipart
    @POST("community/communityUser/client/unAttention")
    Call<String> toUnAttentionAccountString(@Header("access_token") String access_token, @PartMap Map<String, RequestBody> body);

    @Multipart
    @POST("community/matrix/authorTag/client/findTags")
    Call<String> getAccountTag(@PartMap Map<String, RequestBody> body);

    @Multipart
    @POST("api/comment/addComment")
    Call<String> toAddCommentString(@PartMap Map<String, RequestBody> body);

    @Multipart
    @POST("api/comment/queryCommentList")
    Call<String> toGetCommentString(@PartMap Map<String, RequestBody> body);

    @Headers({"Content-Type: application/json;charset=UTF-8"})
    @GET()
    Call<String> toGetDoUpString(@Url String method);
    /*********************华栖云 融媒号相关服务  END***************************/


    /*********************华栖云 问政  START***************************/
    @Headers({"Content-Type: application/json;charset=UTF-8"})
    @POST("api/politics/selectIteractionList")
    Call<String> toGetPoliticsListString(@Header("tenantid") String tenantid, @Body RequestBody body);

    @Multipart
    @POST("api/politics/uploadImages")
    Call<String> toCommitPoliticsImg(@Header("tenantid") String tenantid, @Part List<MultipartBody.Part> partLis);

    @Multipart
    @POST("vms/servlet/BlUploadServlet")
    Call<String> toCommitPoliticsVideo(@Query("TenantID") String tenantid, @Part List<MultipartBody.Part> partLis);

    @Headers({"Content-Type: application/json;charset=UTF-8"})
    @POST("api/politics/addPolitics")
    Call<String> toCommitPolitics(@Header("tenantid") String tenantid, @Body RequestBody body);

    @GET
    Call<String> toGetPoliticsAccountTag(@Header("tenantid") String tenantid, @Url String method);

    @Headers({"Content-Type: application/json;charset=UTF-8"})
    @POST("api/politics/getMediaAuthorList")
    Call<String> toGetPoliticsAccount(@Header("tenantid") String tenantid, @Body RequestBody body);

    @GET
    Call<String> toGetPoliticsInfoString(@Header("tenantid") String tenantid, @Url String method);

    @Headers({"Content-Type: application/json;charset=UTF-8"})
    @POST("api/politics/politicsReply")
    Call<String> toSendPoliticsReply(@Header("tenantid") String tenantid, @Body RequestBody body);

    @GET
    Call<String> toGetMorePoliticsReply(@Header("tenantid") String tenantid, @Url String method);

    @GET
    Call<String> toSendPoliticsEvaluate(@Header("tenantid") String tenantid, @Url String method);

    /*********************华栖云 问政  END***************************/


    @GET
    Call<NetResponseObjectArray<LookBackBean>> getLookBackNewsProgramList(@Url String method);

    @GET
    Call<NetResponseObjectArray<FProgram>> getLookBackNewsArray(@Url String method);


    @GET
    Call<NetResponseObject<LookBackDateBean>> getLookBackNewsDate(@Url String method);

    @GET
    Observable<NetResponseObjectArray<NewsItem>> getNews(@Url String method);
    @POST("getViewsList")
    Observable<NetResponseObject<NewsListClickVo>> getViews(@Body RequestBody newsIds);
}
